import os
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from tools.weather import get_weather
from tools.air_quality import get_air_quality

# 加载环境变量
from dotenv import load_dotenv
load_dotenv()

# 检查 API Key
if not os.getenv("OPENAI_API_KEY"):
    raise RuntimeError("请先在 .env 文件中配置 OPENAI_API_KEY")

# 初始化 LLM
llm = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=0,
    openai_api_base=os.getenv("OPENAI_BASE_URL")
)

# 定义工具列表
tools = [
    get_weather,
    get_air_quality
]

# 初始化 Agent
agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True,  # 输出思考过程
    handle_parsing_errors=True
)

if __name__ == "__main__":
    # 示例任务
    task = "查找深圳的天气和空气质量，然后用一句话告诉我出门要不要带伞和空气质量情况"
    result = agent.run(task)
    print("\n最终建议:", result)